﻿<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>%(DocumentTitle)</title>
  <link rel="icon" type="image/png" href="images/favicon-32x32-png" sizes="32x32" />
  <link rel="icon" type="image/png" href="images/favicon-16x16-png" sizes="16x16" />
  <link href='css/typography-css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/reset-css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/screen-css' media='screen' rel='stylesheet' type='text/css'/>
  <link href='css/reset-css' media='print' rel='stylesheet' type='text/css'/>
  <link href='css/print-css' media='print' rel='stylesheet' type='text/css'/>
  %(StylesheetIncludes)

  <script src='lib/object-assign-pollyfill-js' type='text/javascript'></script>
  <script src='lib/jquery-1-8-0-min-js' type='text/javascript'></script>
  <script src='lib/jquery-slideto-min-js' type='text/javascript'></script>
  <script src='lib/jquery-wiggle-min-js' type='text/javascript'></script>
  <script src='lib/jquery-ba-bbq-min-js' type='text/javascript'></script>
  <script src='lib/handlebars-4-0-5-js' type='text/javascript'></script>
  <script src='lib/lodash-min-js' type='text/javascript'></script>
  <script src='lib/backbone-min-js' type='text/javascript'></script>
  <script src='swagger-ui-min-js' type='text/javascript'></script>
  <script src='lib/highlight-9-1-0-pack-js' type='text/javascript'></script>
  <script src='lib/highlight-9-1-0-pack_extended-js' type='text/javascript'></script>
  <script src='lib/jsoneditor-min-js' type='text/javascript'></script>
  <script src='lib/marked-js' type='text/javascript'></script>
  <script src='lib/swagger-oauth-js' type='text/javascript'></script>

  <!-- Some basic translations -->
  <!-- <script src='lang/translator.js' type='text/javascript'></script> -->
  <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
  <!-- <script src='lang/en.js' type='text/javascript'></script> -->

  <script type="text/javascript">
    $(function () {

      // Get Swashbuckle config into JavaScript
      function arrayFrom(configString) {
        return (configString !== "") ? configString.split('|') : [];
      }

      function stringOrNullFrom(configString) {
        return (configString !== "null") ? configString : null;
      }

      window.swashbuckleConfig = {
        rootUrl: '%(RootUrl)',
        discoveryPaths: arrayFrom('%(DiscoveryPaths)'),
        validatorUrl: stringOrNullFrom('%(ValidatorUrl)'),
        customScripts: arrayFrom('%(CustomScripts)'),
        docExpansion: '%(DocExpansion)',
        supportedSubmitMethods: arrayFrom('%(SupportedSubmitMethods)'),
        oAuth2Enabled: ('%(OAuth2Enabled)' == 'true'),
        oAuth2ClientId: '%(OAuth2ClientId)',
        oAuth2ClientSecret: '%(OAuth2ClientSecret)',
        oAuth2Realm: '%(OAuth2Realm)',
        oAuth2AppName: '%(OAuth2AppName)',
        oAuth2ScopeSeperator: '%(OAuth2ScopeSeperator)',
        oAuth2AdditionalQueryStringParams: JSON.parse('%(OAuth2AdditionalQueryStringParams)'),
        apiKeyName: '%(ApiKeyName)',
        apiKeyIn: '%(ApiKeyIn)'
      };

      hljs.configure({
        highlightSizeThreshold: 5000
      });

      // Pre load translate...
      if(window.SwaggerTranslator) {
        window.SwaggerTranslator.translate();
      }
      window.swaggerUi = new SwaggerUi({
        url: swashbuckleConfig.rootUrl + "/" + swashbuckleConfig.discoveryPaths[0],
        dom_id: "swagger-ui-container",
        supportedSubmitMethods: swashbuckleConfig.supportedSubmitMethods,
        onComplete: function(swaggerApi, swaggerUi){
          if (typeof initOAuth == "function" && swashbuckleConfig.oAuth2Enabled) {
            initOAuth({
              clientId: swashbuckleConfig.oAuth2ClientId,
              clientSecret: swashbuckleConfig.oAuth2ClientSecret,
              realm: swashbuckleConfig.oAuth2Realm,
              appName: swashbuckleConfig.oAuth2AppName,
              scopeSeparator: swashbuckleConfig.oAuth2ScopeSeperator,
              additionalQueryStringParams: swashbuckleConfig.oAuth2AdditionalQueryStringParams
            });
          }

          if(window.SwaggerTranslator) {
            window.SwaggerTranslator.translate();
          }

          addApiKeyAuthorization();

          window.swaggerApi = swaggerApi;
          _.each(swashbuckleConfig.customScripts, function (script) {
            $.getScript(script);
          });
        },
        onFailure: function(data) {
          log("Unable to Load SwaggerUI");
        },
        docExpansion: swashbuckleConfig.docExpansion,
        jsonEditor: false,
        apisSorter: null, // default to server
        defaultModelRendering: 'schema',
        showRequestHeaders: false,
        oauth2RedirectUrl: window.location.href.replace('index', 'o2c-html').split('#')[0]
      });

      if (window.swashbuckleConfig.validatorUrl !== '')
        window.swaggerUi.options.validatorUrl = window.swashbuckleConfig.validatorUrl;

      function addApiKeyAuthorization() {
        var key = $('#input_apiKey')[0].value;
        if (key && key.trim() != "") {
          if (swashbuckleConfig.apiKeyIn === "query") {
              key = encodeURIComponent(key);
          }
          var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, swashbuckleConfig.apiKeyIn);
          window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
          log("added key " + key);
        }
      }
      $('#input_apiKey').change(addApiKeyAuthorization);

      window.swaggerUi.load();

      function log() {
        if ('console' in window) {
          console.log.apply(console, arguments);
        }
      }
  });
  </script>
</head>

<body class="swagger-section">
<div id='header'>
  <div class="swagger-ui-wrap">
    <a id="logo" href="http://swagger.io"><img class="logo__img" alt="swagger" height="30" width="30" src="images/logo_small-png" /><span class="logo__title">swagger</span></a>
    <form id='api_selector'>
      <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
      <div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text" /></div>
      <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
    </form>
  </div>
</div>

<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
</html>
